Application server and computer readable storage medium for generating project specific configuration data

ABSTRACT

An application server for generating project specific configuration data, the application server having a processor, a memory device coupled to the processor for storing digital data and an interface coupled to the processor for sending and receiving data across a data network. The processor is adapted to receive and store project template data, receive and store question configuration data representing at least one question and at least one associated candidate answer and receive and store rule data representing a rule relating the project template data and the question configuration data. The processor being further adapted to send question data from the question configuration data and receive, answer data in response to the question data and generate project specific configuration data from the project template data based on the answer data and rule data.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. Ser. No. 14/648,523 filed May29, 2015 now U.S. Pat. No. 9,703,548, which is the U.S. national phaseof PCT Application No. PCT/AU2013/001336 filed on Nov. 21, 2013, whichclaims priority to AU Patent Application No. 2012905220 filed on Nov.30, 2012, the disclosures of which are incorporated in their entirety byreference herein.

TECHNICAL FIELD

The present invention relates to expert systems and in particular to anapplication server and computer readable storage medium for generatingproject specific configuration data.

The invention has been developed primarily for use in project managementand will be described hereinafter with reference to this application.However, it will be appreciated that the invention is not limited tothis particular field of use.

BACKGROUND

Existing project management systems provide project managementcapabilities for end users. However, existing project management systemssuffer from several disadvantages including limiting users to genericproject content which may not be suited for specific projects. As such,users are therefore required to engage in significant customization theproject content including content creation, analysis and manipulation.

It is to be understood that, if any prior art information is referred toherein, such reference does not constitute an admission that theinformation forms part of the common general knowledge in the art, inAustralia or any other country.

SUMMARY

The invention seeks to provide application server and computer readablestorage medium for generating project specific configuration data whichwill overcome or substantially ameliorate at least some of thedeficiencies of the prior art, or to at least provide an alternative.

According to one aspect, there is provided an application server forgenerating project specific configuration data, the application servercomprising a processor for processing digital data; a memory device forstoring digital data including computer program code, the memory devicebeing coupled to the processor; a data interface for sending andreceiving data across a data network, the data interface being coupledto the processor, a database connection for storing and retrievingdigital data including project template data representing at least oneproject template, wherein the processor is controlled by the computerprogram code to: receive, via the data interface, the project templatedata; store, using the database connection, the project template data;receive, via the data interface, question configuration datarepresenting at least one question and at least one associated candidateanswer; store, using the database connection, the question configurationdata; receive, via the data interface, rule data representing a rulerelating the project template data and the question configuration data;store, using the database connection, the rule data; send, via the datainterface, question data from the question configuration data; receive,via the data interface, answer data in response to the question data;and generate project specific configuration data from the projecttemplate data in accordance with the answer data and the rule data.

Advantageously, the application server allows end users to generateproject specific configuration data in accordance with project specificrequirements and different project types. Furthermore, the applicationserver is adapted to allow the end user to specify the project specificrequirements and the like using an intuitive question and answer“wizard” process.

Preferably, the project template data comprises project category datarepresenting at least one project category and wherein the processor isfurther controlled by the computer program code to store, in thedatabase, the project template data in relation to the project categorydata.

Advantageously, the application server is adapted to manage the projecttemplate data in accordance with project type.

Preferably, the at least one project category comprises at least one ofmodule, parent project type, project type and sub type categories.

Preferably, the project template data comprises project task templatedata representing at least one project task template and wherein, ingenerating the project specific configuration data, the processor isfurther controlled by the computer program code to generate project taskdata representing at least one project task in accordance with theproject task template data.

Preferably, the project task template data comprises deadline datarepresenting at least one deadline for the completion of the at leastone project task.

Advantageously, the application server is adapted for managing tasks inrelation to a project.

Preferably, the project task template data comprises role datarepresenting at least one role responsible for the completion of the atleast one project task.

Advantageously, the application server is adapted for managing theassignment of the at least one project task to a particular role.

Preferably, the project template data comprises risk template datarepresenting at least one risk template.

Preferably, the risk template data comprises responsible role datarepresenting a role responsible for managing a risk.

Advantageously, the application server is adapted for managing the risksin relation to a project and also responsible roles for each risk.

Preferably, the project template data comprises role template datarepresenting at least one role, and wherein, in generating the projecttask data, the processor is further controlled by the computer programcode to generate responsibility data representing at least oneresponsibility for the at least one role in accordance with the roletemplate data and the project task template data.

Preferably, the project template data comprises responsibility type datarepresenting at least one responsibility type and wherein, in generatingthe responsibility data, the processor is further controlled by thecomputer program code to assign a type to the at least oneresponsibility.

Preferably, the at least one responsibility type comprises at least oneof responsible, accountable, consulted and informed types.

Advantageously, the application server is adapted for managing differingresponsibility types for differing roles.

Preferably, the responsibility type data is a matrix.

Preferably, the project template data comprises filesystem directorystructure data representing a directory structure and wherein theprocessor is further controlled by the computer program code tostructure a directory in accordance with the filesystem directorystructure data.

Advantageously, the application server is adapted for generating aproject specific file system directory structure.

Preferably, the filesystem directory structure data comprises templatedata representing a template for inclusion in a specified directory andwherein the processor, in generating the project specific configurationdata, is further controlled by the computer program code to store, inthe specified directory the template data.

Advantageously, the application server is adapted for generating projectspecific template data which may comprise knowledge and insights inrelation to a particular project type.

Preferably, the template data comprises file data.

Preferably, the project template data comprises reminder template datarepresenting at least one reminder and wherein the processor, ingenerating the project specific configuration data, is furthercontrolled by the computer program code to generate reminded datarepresenting at least one reminder in accordance with the remindertemplate data.

Preferably, the processor is further controlled by the computer programcode to associate at least one rule with the at least one associatedcandidate answer.

According to another aspect, there is provided a computer readablestorage medium for generating project specific configuration data, thecomputer readable storage medium comprising computer code instructionsexecutable by a computer and comprising instructions for receiving, viaa data interface, the project template data; storing, using a databaseconnection, the project template data; receiving, via the datainterface, question configuration data representing at least onequestion and at least one associated candidate answer; storing, usingthe database connection, the question configuration data; receiving, viathe data interface, rule data representing a rule relating the projecttemplate data and the question configuration data; storing, using thedatabase connection, the rule data; sending, via the data interface,question data from the question configuration data; receiving, via thedata interface, answer data in response to the question data; andgenerating project specific configuration data from the project templatedata in accordance with the answer data and the rule data.

Preferably, the project template data comprises project category datarepresenting at least one project category and further comprisinginstructions for storing, in the database, the project template data inrelation to the project category data.

Preferably, the at least one project category comprises at least one ofmodule, parent project type, project type and sub type categories.

Preferably, the project template data comprises project task templatedata representing at least one project task template and furthercomprising instructions for generating project task data representing atleast one project task in accordance with the project task templatedata.

Preferably, the project task template data comprises deadline datarepresenting at least one deadline for the completion of the at leastone project task.

Preferably, the project task template data comprises role datarepresenting at least one role responsible for the completion of the atleast one project tasks.

Preferably, the project template data comprises risk template datarepresenting at least one risk template.

Preferably, the risk template data comprises responsible role datarepresenting a role responsible for managing a risk.

Preferably, the project template data comprises role template datarepresenting at least one role, and further comprising instructions forgenerating responsibility data representing at least one responsibilityfor the at least one role in accordance with the role template data andthe project task template data.

Preferably, the project template data comprises responsibility type datarepresenting at least one responsibility type and further comprisinginstructions for assigning a type to the at least one responsibility.

Preferably, the at least one responsibility type comprises at least oneof responsible, accountable, consulted and informed types.

Preferably, the responsibility type data is a matrix.

Preferably, the project template data comprises filesystem directorystructure data representing a directory structure and further comprisinginstructions for structuring a directory in accordance with thefilesystem directory structure data.

Preferably, the filesystem directory structure data comprises templatedata representing a template for inclusion in a specified directory andfurther comprising instructions for storing, in the specified directorythe template data.

Preferably, the template data comprises file data.

Preferably, the project template data comprises reminder template datarepresenting at least one reminder and further comprising instructionsfor generating reminded data representing at least one reminder inaccordance with the reminder template data.

Preferably, the computer readable storage medium further comprisesinstructions for associating at least one rule with the at least oneassociated candidate answer;

Other aspects of the invention are also disclosed.

BRIEF DESCRIPTION OF THE DRAWINGS

Notwithstanding any other forms which may fall within the scope of thepresent invention, preferred embodiments of the invention will now bedescribed, by way of example only, with reference to the accompanyingdrawings in which:

FIG. 1 shows a computing device on which the various embodimentsdescribed herein may be implemented in accordance with an embodiment ofthe present invention;

FIG. 2 shows a network of computing devices on which the variousembodiments described herein may be implemented in accordance with anembodiment of the present invention;

FIG. 3 shows a computer implemented method for generating projectspecific configuration data in accordance with an embodiment of thepresent invention;

FIG. 4 shows a data schematic for generating project specificconfiguration data in accordance with another preferred embodiment ofthe present invention; and

FIGS. 5 to 26 show exemplary graphical user interfaces adapted forgenerating project specific configuration data in accordance with otherembodiments of the present invention.

DETAILED DESCRIPTION

It should be noted in the following description that like or the samereference numerals in different embodiments denote the same or similarfeatures.

Computing Device

FIG. 1 shows a computing device 100 on which the various embodimentsdescribed herein may be implemented. In a preferred embodiment, thecomputing device 100 takes the form of an application server 210 (suchas a Web server) as substantially described in further detail below.

In particular the steps of the method of generating project specificconfiguration data may be implemented as computer program codeinstructions executable by the computing device 100. The computerprogram code instructions may be divided into one or more computerprogram code instruction libraries, such as dynamic link libraries(DLL), wherein each of the libraries performs a one or more steps of themethod. Additionally, a subset of the one or more of the libraries mayperform graphical user interface tasks relating to the steps of themethod.

The device 100 comprises semiconductor memory 110 comprising volatilememory such as random access memory (RAM) or read only memory (ROM). Thememory 100 may comprise either RAM or ROM or a combination of RAM andROM.

The device 100 comprises a computer program code storage medium reader130 for reading the computer program code instructions from computerprogram code storage media 120. The storage media 120 may be opticalmedia such as CD-ROM disks, magnetic media such as floppy disks and tapecassettes or flash media such as USB memory sticks.

The device further comprises I/O interface 140 for communicating withone or more peripheral devices. The I/O interface 140 may offer bothserial and parallel interface connectivity. For example, the I/Ointerface 140 may comprise a Small Computer System Interface (SCSI),Universal Serial Bus (USB) or similar I/O interface for interfacing withthe storage medium reader 130. The I/O interface 140 may alsocommunicate with one or more human input devices (HID) 160 such askeyboards, pointing devices, joysticks and the like. The I/O interface140 may also comprise a computer to computer interface, such as aRecommended Standard 232 (RS-232) interface, for interfacing the device100 with one or more personal computer (PC) devices 190. The I/Ointerface 140 may also comprise an audio interface for communicate audiosignals to one or more audio devices 1050, such as a speaker or abuzzer.

The device 100 also comprises a network interface 170 for communicatingwith one or more computer networks 180. The network 180 may be a wirednetwork, such as a wired Ethernet network or a wireless network, such asa Bluetooth network or IEEE 802.11 network. The network 180 may be alocal area network (LAN), such as a home or office computer network, ora wide area network (WAN), such as the Internet or private WAN.

The device 100 comprises an arithmetic logic unit or processor 1000 forperforming the computer program code instructions. The processor 1000may be a reduced instruction set computer (RISC) or complex instructionset computer (CISC) processor or the like. The device 100 furthercomprises a storage device 1030, such as a magnetic disk hard drive or asolid state disk drive.

Computer program code instructions may be loaded into the storage device1030 from the storage media 120 using the storage medium reader 130 orfrom the network 180 using network interface 170. During the bootstrapphase, an operating system and one or more software applications areloaded from the storage device 1030 into the memory 110. During thefetch-decode-execute cycle, the processor 1000 fetches computer programcode instructions from memory 110, decodes the instructions into machinecode, executes the instructions and stores one or more intermediateresults in memory 100.

In this manner, the instructions stored in the memory 110, whenretrieved and executed by the processor 1000, may configure thecomputing device 100 as a special-purpose machine that may perform thefunctions described herein.

The device 100 also comprises a video interface 1010 for conveying videosignals to a display device 1020, such as a liquid crystal display(LCD), cathode-ray tube (CRT) or similar display device.

The device 100 also comprises a communication bus subsystem 150 forinterconnecting the various devices described above. The bus subsystem150 may offer parallel connectivity such as Industry StandardArchitecture (ISA), conventional Peripheral Component Interconnect (PCI)and the like or serial connectivity such as PCI Express (PCIe), SerialAdvanced Technology Attachment (Serial ATA) and the like.

Network of Computing Devices

FIG. 2 shows a network 200 of computing devices 100 on which the variousembodiments described herein may be implemented. The network 200comprises an application server 210 (web server) for serving web pagesto one or more client computing devices 220 over the Internet 230.

The application server 210 is provided with a web server application 240for receiving requests, such as Hypertext Transfer Protocol (HTTP) andFile Transfer Protocol (FTP) requests, and serving hypertext web pagesor files in response. The web server application 240 may be, for examplethe Apache or the Microsoft™ IIS HTTP server.

The application server 210 is also provided with a hypertextpreprocessor 250 for processing one or more web page templates 260 anddata from one or more databases 270 to generate hypertext web pages. Thehypertext preprocessor may, for example, be the PHP: HypertextPreprocessor (PHP) or Microsoft Asp hypertext preprocessor. Theapplication server 210 is also provided with web page templates 260,such as one or more PHP or ASP files.

Upon receiving a request from the web server application 240, thehypertext preprocessor 250 is operable to retrieve a web page template,from the web page templates 260, execute any dynamic content therein,including updating or loading information from the one or more databases270, to compose a hypertext web page. The composed hypertext web pagemay comprise client side code, such as Javascript, for Document ObjectModel (DOM) manipulating, asynchronous HTTP requests and the like.

Client computing devices 220 are provided with a browser application280, such as the Mozilla Firefox™ or Microsoft Internet Explorer™browser applications. The browser application 280 requests hypertext webpages from the application server 210 and renders the hypertext webpages on a display device 1020.

Computer Implemented Method for Generating Project SpecificConfiguration Data

FIG. 3 shows a computer implemented method 300 for generating projectspecific configuration data. The method 300 is executed by one or morecomputing devices 100 and in particular one or more computing devices100 connected across the Internet 230 as substantially shown in FIG. 2.

Data Schematic for Generating Project Specific Configuration Data

As will become apparent from the below description, and referring to thedata schematic 400 is shown in FIG. 4, the application server 210 isadapted for generating project specific configuration data 425 for useby an end user when creating project specific configuration data for aparticular project. For example, when initiating a new software projector business development project for example, the end-user will employthe application server 210 for the purposes of generating the projectspecific configuration data 425 for use in relation to the project.

The application server 210 is adapted to generate the project specificconfiguration data 425 from project template data 415. Specifically, theapplication server is adapted to present questions to the end user in“wizard” format in accordance with question configuration data 405 so asto be to receive answers from the user relating to the project so thatthe application server 210 is able to create the project specificconfiguration data 425. Specifically, the application server 210 employsrule data 420 which maps the user input answer data 410 to the projecttemplate data 415.

Generally, the project template data 415, rule data 420 and questionconfiguration data 405 will be configured by a user referred to hereinas the admin user.

Another user, herein referred to as the end user, is the person whocreates the project specific configuration data each time a new projectis initiated and will specify the answer data 410.

Receive Project Template Data 305

The method 300 starts at step 305, where the application server 210 isadapted to receive project template data. As will become apparent fromthe description herein, the project template data comprises data forvarious types of projects and is used by the application server 210 ingenerating the project specific configuration data in accordance with anend user's project specification which is described herein in apreferred embodiment as a “wizard” process comprising a series ofquestions and answers allowing the end user to specify the project typeand requirements.

The application server 210 may receive the project template data invarious manners, such as by way of I/O interface 140, network interface170 or the like. Generally, the project template data is adapted forcontinual update wherein the admin user continually adds resources,knowledge, content and the like to the project template data for use insubsequent projects.

In a preferred embodiment, the project template data is grouped orcategorized into various categories. In this manner, the project datacan be stored and retrieved in a logical manner depending on the projectrequirements. In a yet further preferred embodiment, the categories arehierarchical comprising a hierarchy comprising model, parent projecttype, project type and sub type/components project categories.

In this manner, the project template data as described in further detailbelow may be categorized and stored (whether in the database 270, filesystem or the like) in accordance with the project hierarchy.

Referring now to the exemplary graphical user interface 505 assubstantially shown in FIG. 5, there is shown the interface 505 adaptedfor allowing the admin user to configure the module category. As isapparent from the interface 505, the admin user is adapted to specifythe module (and also indicate whether or not the module is active) andwith and the module category, select project types within the modulehierarchy by available project types from the available project typelist to the project types for the module from left to right. As isapparent from the exemplary embodiment, the module provided relates toprojects for change management (the parent project type) includingorganizational change and strategic changes (the project type).

Referring now to the exemplary graphical user interface 506 assubstantially shown in FIG. 6, there is shown the interface 506 adaptedto allow the admin user to add or edit project types and subcomponents.For example, using the project type editor on the left hand side, theadmin user may configure details relating to a project type (such as theorganizational change project type referred to above). In this manner,the project type editor comprises edit fields allowing the admin user toedit the name of the project type, a checkbox to specify whether theproject type is a parent project type or a project type, a parentproject type select, a unique type code, a module selector, an insightinput and a checkbox to specify whether the project type is active.

On the right hand side of the exemplary graphical user interface 506 isshown a sub type editor adapted to allow the admin user to edit data atthe sub type category of the project type data hierarchy. Using the subtype editor, the admin user may input various project template datadepending on the application. In a preferred embodiment, the sub typeeditor is adapted to allow the admin user to input sub types havingdiffering project template data comprising:

Insights based on experience;

Tasks;

Roles and responsibilities;

Risks;

Folders and templates/documents;

Information about subject matter experts;

Stakeholder insights; and

Information about compliance with regulations and standards

It should be noted that while the above project template data isdiscussed as being associated with a sub type, the above projecttemplate data may also be associated with either a project type or a subtype. Generally, sub types are associated with tasks whereas the otherproject template data would be associated with project types.

Specifically, referring to the exemplary graphical user interface 507 assubstantially shown in FIG. 7, there is shown the interface 507 adaptedfor allowing the admin user to configure project task template datarepresenting at least one project task template to be generated for aproject.

Specifically, each project task template comprises a uniqueidentification number, a task description, a duration for completion ofthe task, a task predecessor for the task, a role representing theresponsible role for the completion of the task and, where applicable, atemplate for use in the completion of the task. Referring to theexemplary graphical user interface 508 as substantially shown in FIG. 8,there is shown the interface 508 adapted to allow the admin user toconfigure the task description, the duration for completion of the task,the task predecessor for the task, the role representing the responsiblerole for the completion of the task and a template for use in thecompletion of the task. Referring to the exemplary graphical userinterface 509 as substantially shown in FIG. 9, there is shown theinterface 509 adapted for allowing the admin user to specify how thetask is to recur. Furthermore, the admin user may enter insights onprior experience and configure whether the task is a milestone.

In this manner, task templates may be added, edited and deleted for eachproject. As such, when the application server 210 generates the projectspecific configuration data, the project specific configuration datawill comprise task data representing at least one task for completion inrelation to the project as specified by the admin user.

As alluded to above, the project template data may specify various risksin relation to various projects. Specifically, referring to theexemplary graphical user interface 510 as substantially shown in FIG.10, there is shown the interface 510 adapted for allowing the admin userto specify risks template data in relation to a project type.Specifically, in the example given there has been an input indicatingthat there is a risk that the completion of a website will not be ableto go live with the latest version of the software in the event of thewebsite being delayed. As is also evident from the interface 510, therisk template data comprises role data representing a role responsiblefor managing the risk. Using the example, it is apparent that theproject manager is responsible for managing the risk of the websitebeing delayed.

In certain embodiments, the interface 510 maybe adapted such that riskcategories can be assigned for each risk.

Yet further, as alluded to above, the project template data may compriseroles template data representing at least one role such that, ingenerating the project task data, the application server is adapted togenerate responsibility data representing at least one responsibilityfor each role in accordance with the role template data and the projecttask template data.

Specifically, referring to the exemplary graphical user interface 511 assubstantially shown in FIG. 11, there is shown the interface 511configured for allowing the admin user to create, edit and deleteresponsibilities for each role. Specifically, in the example given theroles of business analyst, junior developer and project manager has beencreated. For the selected role of junior developer, the admin user isable to save changes made to the interface or delete the role.Furthermore, the interface 511 is adapted for allowing various tasks tobe assigned to each role.

Furthermore, the application server 210 may be adapted to assign aresponsibility type to each task for each role. Specifically, referringto the exemplary graphical user interface 512 as substantially shown inFIG. 12, there is shown a RACI (responsible, comfortable, consulted,informed) matrix showing the type of responsibility for each task. Forexample, for each task, the type of responsibility may also beconfigured such as whether the role should be responsible, accountable,or merely consulted or informed. For example, the interface 512 showsthat role PM is responsible for creating a project proposal and creatingthe project plan, whereas role BA is responsible for creating thespecifications.

As also alluded to above, in a preferred embodiment, in generating theproject specific configuration data, the application server 210 isadapted to configure a file system directory in accordance with atemplate structure. In this manner, those subsequently working on theproject may use the file system directory structure in an approvedmanner. Furthermore, the application server 210 may be adapted topopulate various folders of the directory structure with templates andor other data including file data.

Specifically, referring to the exemplary graphical user interface 514 assubstantially shown in FIG. 14, there is shown the interface 514 adaptedfor allowing the admin user to specify a directory structure using theprovided tree edit control. In this manner, when the application server210 generates the project specific configuration data on the applicationserver 210 is adapted to create the directory structure either on theapplication server 210 on one or more target machines. As is apparent,the interface 514 also allows the admin user to load or select templatesfor inclusion within each folder of the directory structure.

Specifically, referring to the exemplary graphical user interface 513 assubstantially shown in FIG. 13, there is shown the interface 513 adaptedfor receiving template data for inclusion in a folder. The interface 513comprises input fields allowing the admin user to upload variousdocumentation and input annotations.

In one embodiment, the application server 210 is adapted to allow theadmin user to configure reminder template data representing at least onereminder in relation to a specific project. Such reminders are usedwhere project tasks are not appropriate. For example, a reminder may begenerated for a particular role such as a reminder relating toperforming a review of the project. Referring to the exemplary graphicaluser interface 515 as substantially shown in FIG. 15, there is shown theinterface 515 adapted for allowing the admin user to configure one ormore reminders. The reminders may be configured to trigger at a certainpercentage completion of a project or in relation to certain projecttasks such as three days before a particular task completion.

Receive Question Configuration Data

At step 310 of method 300, the application server 210 is adapted toreceive question configuration data. Generally, an organization willbuild a set of questions and answers (question configuration data) thatrelate to different aspects of the project or activity.

For example different types of tasks that might be or not be undertaken,the different types of skills of people that will be available toperform the activity or project. These could be related toorganizational specific information such as whether the project affectsFinance or Technology staff members, whether the project impacts theGeneral Ledger, Human Resources or Payroll systems and the like.

In another example, the question configuration data could bespecifically about the way the organization makes decisions aroundgoverning a project, for example, does this project have a budgetgreater than $1 million. As will be discussed in further detail below,the question configuration data is used by the application server 210 inconjunction with the rule data (described below) so as to be able togenerate project specific configuration data in accordance with a endusers answers of the question data.

Specifically, referring to the exemplary graphical user interface 516 assubstantially shown in FIG. 16, there is shown the interface 516 adaptedfor allowing the admin user to configure the question data. As isapparent from the interface 516, the interface 516 has a questiondetails section allowing the admin user to specify the details relatingto the question. In this example, the question relates to “whatmethodology is used” for the project. Also within the question detailssection is a “display after” section adapted for allowing the admin userto specify a question, trigger or rule which would cause the question tobe displayed. In a given example, the “display after” section specifiesthat if the end user answers “client server” to the question “what willyour software be?” Then the current question (i.e. “what methodology touse”) should be displayed.

Beneath the question details section is the answer details sectionallowing the admin user to configure an answer. In this section, theanswer may be associated with a description and associated help text.

Beneath the answer details section is an answer section comprising a setof candidate answers. Selecting each of these candidate answers willallow the admin user to configure the answer in the answer detailssection above.

Furthermore, referring to the exemplary graphical user interface 517 assubstantially shown in FIG. 17, there is shown the interface 517 adaptedfor allowing the admin user to configure the sequence of the questionscreens that will be presented to the end user. In this manner, theadmin user is able to configure a question ‘wizard” which will step theend user through a series of questions.

Graphical user interface 518 as substantially shown in FIG. 18 comprisesan interface 518 displaying the order of the question screens of thequestion wizard. The admin user is able to drag and drop questionscreens with the interface to reorder the display of question screens.The question screens marked with the asterisk denote those questionscreens that are mandatory.

Receive Rule Data Relating to the Project Template Data and the QuestionConfiguration Data

At step 320 of method 300, the application server 210 is adapted toreceive rule data. As will be described in further detail below, therule data is adapted for use by the application server in relating theproject template data and the question configuration data in generatingthe project specific configuration data.

For example, referring to the exemplary graphical user interface 519 assubstantially shown in FIG. 19, there is shown the interface 519 adaptedfor allowing the admin user to specify the auto answer rule data. Inthis regard, the application server 210 is adapted to automaticallyanswer a question in response to the user having answered anotherquestion.

As is apparent from the interface 519, the interface 519 is adapted forallowing the admin user to create and configure different types of rulesin accordance with the different types of project template data. Inorder to create a rule, the admin user selects an answer to a questionand thereafter creates a rule associated with the answer.

Referring now to the exemplary graphical user interface 520 assubstantially shown in FIG. 20, there is shown an example of how theadmin user creates rules for tasks. Specifically, the admin user selectsan answer that causes the application server 210 to implement a rule. Inthis manner, the admin user is then able to configure what will happenif the end user selects the selected answer. In this example, the adminuser is able to include or exclude tasks in relation to a selectedanswer for a question.

Referring to the exemplary graphical user interface 521 as substantiallyshown in FIG. 21, there is shown the interface 521 adapted for allowingthe admin user to modify the responsibility type for each task,comprising whether the role is responsible, accountable, consulted orinformed. In this manner, when the end user answers a questionindicating the project requires a human resource representative, theadmin user is able to allocate tasks to the human resourcerepresentative.

Furthermore, referring to the exemplary interface 522 as shown in FIG.22, there is shown the interface 522 adapted for allowing the admin userto include or exclude risks for a project or activity based on an answerto a question. Yet further, the interface 522 is adapted for allowingthe admin user to specify the responsible role for the risk, likelihoodof the risk and the likely impact of the risk.

It should be noted that multiple rules may be associated with eachanswer. Also, the application server 210 may be configured such that theadmin user is able to configure default settings for the projectspecific configuration. In this manner, the end user may simply elect touse the default settings. For example, for folders and templates, theend user may elect to use the default folder structure or alternatively,use a folder structure of their choice.

Receive User Input Answer Data

At step 325 of method 300, the application server 210 is adapted toreceive user input answer data. As is apparent from the abovedisclosure, the application server 210 is adapted to generate projectspecific configuration data in accordance with an end users answers to aseries of questions, wherein the application server 210 uses thequestion configuration data and the rule data for configuring theproject specific configuration data in accordance with the end user'sanswers. Also, as alluded to above, the answer data is received from anend user. In this manner, and admin user may configure the applicationserver in the manner described above wherein the end user inputs theanswer data at the creation of each project so as to generate theproject configuration data. Further, as also alluded to above, theapplication server 210 is adapted to employ a wizard to step the userthrough a series of question screens for receiving answers to thequestions presented.

In one embodiment, the application server 210 is adapted to present thequestions in accordance with the privileges of the end user. In thismanner, the application server 210 may be configured with the end-usersprivileges such that an authorized and users may not obtain confidentialinformation.

Also, as alluded to above, the presentation of questions need not be astrictly linear or iterative process wherein an answer to a question maycause the application server 210 to generate present an alternativequestion or skip a series one or more questions as the case may be.Also, as alluded to above, the application server 210 may be adapted toautomate the answering of question based on the answers of anotherquestion in cases where and answer is really apparent.

Referring to exemplary interface 523 as substantially shown in FIG. 23,there is shown the first screen of the question wizard. Using theinterface 523, the end user is able to specify the project name, theirID and a start and estimated end date for the project. As is apparentfrom the left hand side of the interface 523, there is shown a link listto each question screen. As the question screens are to be answered inan iterative manner, the links of the link list are disabled until suchtime that the user has progressed to the relevant question screen.

Referring now to the exemplary interface 524 is shown in FIG. 24, thereis shown the presentation of an exemplary question. As is apparent, thequestion in this question screen relates to the type of project orbusiness area the end user will be working on. Two exemplary answers areprovided, being software related modules and is development. As isapparent, the answers comprise a tip presenting the end user with moreinformation.

Generate Project Specific Configuration Data from the Project TemplateData in Accordance with the Answer Data

At step 330 of method 300, the application server 210 is adapted togenerate project specific configuration data in accordance with theanswer data and the rule data.

Specifically, the application server 210 is adapted to select theappropriate project template data from the database 270 and generate theproject specific configuration data in accordance with the projecttemplate data, rule data and the answer data received from the end user.

The project specific configuration data creation process will now bedescribed in further detail in relation to the different projectstemplate data types in which the following exemplary steps are provided:

The end user answers questions in a wizard;

At completion of the wizard process the application server 210 appliesthe rule data to the project template data to select those portions fromthe project template data relevant to the project to create the projectspecific configuration data;

In the creation of tasks:

The application server 210 starts with base plan for the type of projector activity selected;

Then the application server 210 determines, by referring to the answerdata selected in the wizard process which rules to apply to the tasks;

The application server 210 then includes and excludes tasks as per therules;

The application server 210 then sets any durations required as a resultof an answer to a question;

The application server 210 orders the groups of tasks as per the planorder which is ordered by different project or activity types. Forexample a plan might have new software, project management and changemanagement plans that combined make one large project plan;

The application server 210 then calculates the appropriate duration ofthe tasks as per the settings of the system. The application server 210does a number of top down and bottom up calculations using the start andend date of the project, the duration settings

(% or days) and predecessors to calculate the duration of tasks;

If necessary, the application server 210 then alters the end date orstart date if possible based on the duration calculations;

For the assignment of responsibility type to each role (RAC]):

The application server 210 creates the RACI matrix by first taking thelist of tasks as per the above process;

The application server 210 then modifies any text or includes orexcludes visible tasks based on rules and settings input into the system(e.g. in the RACI not all tasks are necessarily require to be visible orthe wording is slightly changed for the purpose of the RACI);

The application server 210 then applies the appropriate settings forresponsible, accountable, consulted, informed based on rules for thequestions answered;

The application server 210 then goes back to the tasks and modifies anyroles responsible for tasks based on rules applicable to the RACImatrix. (remembering a raci rule can change who is responsible for atask).

For the calculation of Risks:

the application server (as above) uses the answers to the questions toapply any relevant risk rules;

The application server 210 then takes the base list of risks for theproject type(s) selected; the application server 210 then includes orexcludes risks based on the rules; and

the application server 210 then changes who is responsible for the riskbased on the rules.

For the generation of reminders:

the application server 210 selects the relevant reminders based on thetasks that have been included as per the above rules; and

The appropriate reminder date is determined by the application server210 based on the task dates and is set ready to be presented to the userwhen appropriate

For the creation of folders and templates:

the application server selects the folders based on the project typesrelevant for the project;

if the admin user has set default settings for folder names andstructures those will be used for this project;

the application server 210 includes the templates/documents in thefolders based on the tasks included. All templates are linked or relatedto a task so if that task was not included the template or document isnot included either as it is deemed to not be relevant for this specificproject; if the end user has set to use their own folder and templatestructure the application server 210 uses that setting for this project;

and if the end user has default setting to include any documents ortemplates not related to a smart template or task, those are alsoincluded.

For the creation of project Insights:

The application server 210 creates insights documents based on the typeof project, tasks, risks and templates included.

For Milestone tracking:

the application server 210 determines milestones based on the tasksincluding being adapted to monitor the completion of the milestones.

Having created the project specific configuration data, the applicationserver 210 may be adapted to allow the end user to make modifications tothis project specific configuration data. Specifically, the end user maybe able to select team members for inclusion on the project and in doingso, link that team member with a particular role such that theapplication server 210 can assign to the team member any tasks, risks orthe like associated with the role.

Selecting a team member will cause the application server 210 toallocate the tasks, risks and responsibility types to the specific teammember.

In one embodiment, the application server 210 may be adapted to allowthe end user to modify the folder structure for the project. Similarly,the application server 210 may be adapted to allow the end user tomodify the default templates and instead use their own templates.

Yet further, the application server may be adapted to allow the end userto modify the responsibility types for each role by amending the RACImatrix.

Referring now to the exemplary interface 526 as shown in FIG. 26, thereis shown an exemplary project specific configuration data output by theapplication server 210. As is apparent, each of the project specificconfiguration data elements may be downloaded for use on a stand-alonecomputing device. Specifically, the project outputs comprise:

Project Schedule (MS Project or Excel)

Folders and Templates/Documents (full or a lite version for smallerprojects)—zip file

Risk Register—excel

Roles and Responsibilities listing—word document

RACI matrix (RACI=Responsible, Accountable, Consulted, Informed)—excel

Project Insights Report which is like a project guide where advice fromprior experience can be provided and extra information and directionregarding specific tasks, documents and risks for example—word document

Budget document—is an initial budget document created based on the rolesrequired for the project, the duration of the project and a daily orhourly rate for the people allocated to the project as per the usersettings. (excel)

Subject Matter Expert register—(excel)—is a table showing the relevantsubject matter experts for the project

Stakeholder identification and analysis start (excel)—is the inclusionof specific insights of stakeholders/roles included in the project tohelp in commencing the stakeholder analysis piece

The end user can then download the project outputs to their own systemor computer.

Interpretation Bus

In the context of this document, the term “bus” and its derivatives,while being described in a preferred embodiment as being a communicationbus subsystem for interconnecting various devices including by way ofparallel connectivity such as Industry Standard Architecture (ISA),conventional Peripheral Component Interconnect (PCI) and the like orserial connectivity such as PCI Express (PCIe), Serial AdvancedTechnology Attachment (Serial ATA) and the like, should be construedbroadly herein as any system for communicating data.

In Accordance with:

As described herein, ‘in accordance with’ may also mean ‘as a functionof’ and is not necessarily limited to the integers specified in relationthereto.

Composite Items

As described herein, ‘a computer implemented method’ should notnecessarily be inferred as being performed by a single computing devicesuch that the steps of the method may be performed by more than onecooperating computing devices.

Similarly objects as used herein such as ‘web server’ ‘server’, ‘clientcomputing device’ ‘computer readable medium’ and the like should notnecessarily be construed as being a single object, and may beimplemented as a two or more objects in cooperation, such as, forexample, a web server being construed as two or more web servers in aserver farm cooperating to achieve a desired goal or a computer readablemedium being distributed in a composite manner, such as program codebeing provided on a compact disk activatable by a license keydownloadable from a computer network.

Database:

In the context of this document, the term “database” and its derivativesmay be used to describe a single database, a set of databases, a systemof databases or the like. The system of databases may comprise a set ofdatabases wherein the set of databases may be stored on a singleimplementation or span across multiple implementations. The term“database” is also not limited to refer to a certain database formatrather may refer to any database format. For example, database formatsmay include MySQL, MySQLi XML or the like.

Wireless:

The invention may be embodied using devices conforming to other networkstandards and for other applications, including, for example other WLANstandards and other wireless standards. Applications that can beaccommodated include IEEE 802.11 wireless LANs and links, and wirelessEthernet.

In the context of this document, the term “wireless” and its derivativesmay be used to describe circuits, devices, systems, methods, techniques,communications channels, etc., that may communicate data through the useof modulated electromagnetic radiation through a non-solid medium. Theterm does not imply that the associated devices do not contain anywires, although in some embodiments they might not. In the context ofthis document, the term “wired” and its derivatives may be used todescribe circuits, devices, systems, methods, techniques, communicationschannels, etc., that may communicate data through the use of modulatedelectromagnetic radiation through a solid medium. The term does notimply that the associated devices are coupled by electrically conductivewires.

Processes:

Unless specifically stated otherwise, as apparent from the followingdiscussions, it is appreciated that throughout the specificationdiscussions utilizing terms such as “processing”, “computing”,“calculating”, “determining”, “analyzing” or the like, refer to theaction and/or processes of a computer or computing system, or similarelectronic computing device, that manipulate and/or transform datarepresented as physical, such as electronic, quantities into other datasimilarly represented as physical quantities.

Processor:

In a similar manner, the term “processor” may refer to any device orportion of a device that processes electronic data, e.g., from registersand/or memory to transform that electronic data into other electronicdata that, e.g., may be stored in registers and/or memory. A “computer”or a “computing device” or a “computing machine” or a “computingplatform” may include one or more processors.

The methodologies described herein are, in one embodiment, performableby one or more processors that accept computer-readable (also calledmachine-readable) code containing a set of instructions that whenexecuted by one or more of the processors carry out at least one of themethods described herein. Any processor capable of executing a set ofinstructions (sequential or otherwise) that specify actions to be takenare included. Thus, one example is a typical processing system thatincludes one or more processors. The processing system further mayinclude a memory subsystem including main RAM and/or a static RAM,and/or ROM.

Computer-Readable Medium:

Furthermore, a computer-readable carrier medium may form, or be includedin a computer program product. A computer program product can be storedon a computer usable carrier medium, the computer program productcomprising a computer readable program means for causing a processor toperform a method as described herein.

Networked or Multiple Processors:

In alternative embodiments, the one or more processors operate as astandalone device or may be connected, e.g., networked to otherprocessor(s), in a networked deployment, the one or more processors mayoperate in the capacity of a server or a client machine in serverclientnetwork environment, or as a peer machine in a peer-to-peer ordistributed network environment. The one or more processors may form aweb appliance, a network router, switch or bridge, or any machinecapable of executing a set of instructions (sequential or otherwise)that specify actions to be taken by that machine.

Note that while some diagram(s) only show(s) a single processor and asingle memory that carries the computer-readable code, those in the artwill understand that many of the components described above areincluded, but not explicitly shown or described in order not to obscurethe inventive aspect. For example, while only a single machine isillustrated, the term “machine” shall also be taken to include anycollection of machines that individually or jointly execute a set (ormultiple sets) of instructions to perform any one or more of themethodologies discussed herein.

Additional Embodiments

Thus, one embodiment of each of the methods described herein is in theform of a computer readable carrier medium carrying a set ofinstructions, e.g., a computer program that are for execution on one ormore processors. Thus, as will be appreciated by those skilled in theart, embodiments of the present invention may be embodied as a method,an apparatus such as a special purpose apparatus, an apparatus such as adata processing system, or a computer readable carrier medium. Thecomputer-readable carrier medium carries computer readable codeincluding a set of instructions that when executed on one or moreprocessors cause a processor or processors to implement a method.Accordingly, aspects of the present invention may take the form of amethod, an entirely hardware embodiment, an entirely software embodimentor an embodiment combining software and hardware aspects.

Furthermore, the present invention may take the form of carrier medium(e.g., a computer program product on a computer-readable storage medium)carrying computer-readable program code embodied in the medium.

Carrier Medium:

The software may further be transmitted or received over a network via anetwork interface device. While the carrier medium is shown in anexample embodiment to be a single medium, the term “carrier medium”should be taken to include a single medium or multiple media (e.g., acentralized or distributed database, and/or associated caches andservers) that store the one or more sets of instructions. The term“carrier medium” shall also be taken to include any medium that iscapable of storing, encoding or carrying a set of instructions forexecution by one or more of the processors and that cause the one ormore processors to perform any one or more of the methodologies of thepresent invention. A carrier medium may take many forms, including butnot limited to, non-volatile media, volatile media, and transmissionmedia.

Implementation:

It will be understood that the steps of methods discussed are performedin one embodiment by an appropriate processor (or processors) of aprocessing (i.e., computer) system executing instructions(computer-readable code) stored in storage. It will also be understoodthat the invention is not limited to any particular implementation orprogramming technique and that the invention may be implemented usingany appropriate techniques for implementing the functionality describedherein. The invention is not limited to any particular programminglanguage or operating system.

Means for Carrying Out a Method or Function

Furthermore, some of the embodiments are described herein as a method orcombination of elements of a method that can be implemented by aprocessor of a processor device, computer system, or by other means ofcarrying out the function. Thus, a processor with the necessaryinstructions for carrying out such a method or element of a method formsa means for carrying out the method or element of a method. Furthermore,an element described herein of an apparatus embodiment is an example ofa means for carrying out the function performed by the element for thepurpose of carrying out the invention.

Connected

Similarly, it is to be noticed that the term connected, when used in theclaims, should not be interpreted as being limitative to directconnections only. Thus, the scope of the expression a device A connectedto a device B should not be limited to devices or systems wherein anoutput of device A is directly connected to an input of device B. Itmeans that there exists a path between an output of A and an input of Bwhich may be a path including other devices or means. “Connected” maymean that two or more elements are either in direct physical orelectrical contact, or that two or more elements are not in directcontact with each other but yet still co-operate or interact with eachother.

Embodiments

Reference throughout this specification to “one embodiment” or “anembodiment” means that a particular feature, structure or characteristicdescribed in connection with the embodiment is included in at least oneembodiment of the present invention. Thus, appearances of the phrases“in one embodiment” or “in an embodiment” in various places throughoutthis specification are not necessarily all referring to the sameembodiment, but may. Furthermore, the particular features, structures orcharacteristics may be combined in any suitable manner, as would beapparent to one of ordinary skill in the art from this disclosure, inone or more embodiments.

Similarly it should be appreciated that in the above description ofexample embodiments of the invention, various features of the inventionare sometimes grouped together in a single embodiment, figure, ordescription thereof for the purpose of streamlining the disclosure andaiding in the understanding of one or more of the various inventiveaspects. This method of disclosure, however, is not to be interpreted asreflecting an intention that the claimed invention requires morefeatures than are expressly recited in each claim. Rather, as thefollowing claims reflect, inventive aspects lie in less than allfeatures of a single foregoing disclosed embodiment. Thus, the claimsfollowing the Detailed Description of Specific Embodiments are herebyexpressly incorporated into this Detailed Description of SpecificEmbodiments, with each claim standing on its own as a separateembodiment of this invention.

Furthermore, while some embodiments described herein include some butnot other features included in other embodiments, combinations offeatures of different embodiments are meant to be within the scope ofthe invention, and form different embodiments, as would be understood bythose in the art. For example, in the following claims, any of theclaimed embodiments can be used in any combination.

Specific Details

In the description provided herein, numerous specific details are setforth. However, it is understood that embodiments of the invention maybe practiced without these specific details. In other instances,well-known methods, structures and techniques have not been shown indetail in order not to obscure an understanding of this description.

Terminology

In describing the preferred embodiment of the invention illustrated inthe drawings, specific terminology will be resorted to for the sake ofclarity. However, the invention is not intended to be limited to thespecific terms so selected, and it is to be understood that eachspecific term includes all technical equivalents which operate in asimilar manner to accomplish a similar technical purpose. Terms such as“forward”, ‘rearward”, “radially”, “peripherally”, “upwardly”,“downwardly”, and the like are used as words of convenience to providereference points and are not to be construed as limiting terms.

Different Instances of Objects

As used herein, unless otherwise specified the use of the ordinaladjectives “first”, second”, “third”, etc., to describe a common object,merely indicate that different instances of like objects are beingreferred to, and are not intended to imply that the objects so describedmust be in a given sequence, either temporally, spatially, in ranking,or in any other manner.

Comprising and Including

In the claims which follow and in the preceding description of theinvention, except where the context requires otherwise due to expresslanguage or necessary implication, the word “comprise” or variationssuch as “comprises” or “comprising” are used in an inclusive sense, i.e.to specify the presence of the stated features but not to preclude thepresence or addition of further features in various embodiments of theinvention.

Any one of the terms: including or which includes or that includes asused herein is also an open term that also means including at least theelements/features that follow the term, but not excluding others. Thus,including is synonymous with and means comprising.

Scope of Invention

Thus, while there has been described what are believed to be thepreferred embodiments of the invention, those skilled in the art willrecognize that other and further modifications may be made theretowithout departing from the spirit of the invention, and it is intendedto claim all such changes and modifications as fall within the scope ofthe invention. For example, any formulas given above are merelyrepresentative of procedures that may be used. Functionality may beadded or deleted from the block diagrams and operations may beinterchanged among functional blocks. Steps may be added or deleted tomethods described within the scope of the present invention.

Although the invention has been described with reference to specificexamples, it will be appreciated by those skilled in the aff that theinvention may be embodied in many other forms.

What is claimed is:
 1. An application server for generating projectspecific configuration data, the application server comprising: aprocessor for processing digital data; a memory device for storingdigital data including computer program code, the memory device beingcoupled to the processor; a data interface for sending and receivingdata across a data network, the data interface being coupled to theprocessor, a database connection for storing and retrieving digital dataincluding project template data representing at least one projecttemplate, wherein the processor is controlled by the computer programcode to: receive, via the data interface, the project template data;store, using the database connection, the project template data;receive, via the data interface, question configuration datarepresenting at least one question and at least one associated candidateanswer; store, using the database connection, the question configurationdata; receive, via the data interface, rule data representing a rulerelating the project template data and the question configuration data;store, using the database connection, the rule data; send, via the datainterface, question data from the question configuration data; receive,via the data interface, answer data in response to the question data;and generate project specific configuration data from the projecttemplate data in accordance with the answer data and the rule data. 2.An application server as claimed in claim 1, wherein the projecttemplate data comprises project category data representing at least oneproject category and wherein the processor is further controlled by thecomputer program code to store, in the database, the project templatedata in relation to the project category data.
 3. An application serveras claimed in claim 2, wherein the at least one project categorycomprises at least one of module, parent project type, project type andsub type categories.
 4. An application server as claimed in claim 1,wherein the project template data comprises project task template datarepresenting at least one project task template and wherein, ingenerating the project specific configuration data, the processor isfurther controlled by the computer program code to generate project taskdata representing at least one project task in accordance with theproject task template data.
 5. An application server as claimed in claim4, wherein the project task template data comprises deadline datarepresenting at least one deadline for the completion of the at leastone project task.
 6. An application server as claimed in claim 4,wherein the project task template data comprises role data representingat least one role responsible for the completion of the at least oneproject tasks.
 7. An application server as claimed in claim 1, whereinthe project template data comprises risk template data representing atleast one risk template.
 8. An application server as claimed in claim 7,wherein the risk template data comprises responsible role datarepresenting a role responsible for managing a risk.
 9. An applicationserver as claimed in claim 1, wherein the project template datacomprises role template data representing at least one role, andwherein, in generating the project task data, the processor is furthercontrolled by the computer program code to generate responsibility datarepresenting at least one responsibility for the at least one role inaccordance with the role template data and the project task templatedata.
 10. An application server as claimed in claim 9, wherein theproject template data comprises responsibility type data representing atleast one responsibility type and wherein, in generating theresponsibility data, the processor is further controlled by the computerprogram code to assign a type to the at least one responsibility.
 11. Anapplication server as claimed in claim 10, wherein the at least oneresponsibility type comprises at least one of responsible, accountable,consulted and informed types.
 12. An application server as claimed inclaim 11, wherein the responsibility type data is a matrix.
 13. Anapplication server as claimed in claim 1, wherein the project templatedata comprises filesystem directory structure data representing adirectory structure and wherein the processor is further controlled bythe computer program code to structure a directory in accordance withthe filesystem directory structure data.
 14. An application server asclaimed in claim 13, wherein the filesystem directory structure datacomprises template data representing a template for inclusion in aspecified directory and wherein the processor, in generating the projectspecific configuration data, is further controlled by the computerprogram code to store, in the specified directory the template data. 15.An application server as claimed in claim 14, wherein the template datacomprises file data.
 16. An application server as claimed in claim 1,wherein the project template data comprises reminder template datarepresenting at least one reminder and wherein the processor, ingenerating the project specific configuration data, is furthercontrolled by the computer program code to generate reminder datarepresenting at least one reminder in accordance with the remindertemplate data.
 17. An application server as claimed in claim 1, whereinthe processor is further controlled by the computer program code toassociate at least one rule with the at least one associated candidateanswer.
 18. A computer readable storage medium for generating projectspecific configuration data, the computer readable storage mediumcomprising computer code instructions executable by a computer andcomprising instructions for: receiving, via a data interface, theproject template data; storing, using a database connection, the projecttemplate data; receiving, via the data interface, question configurationdata representing at least one question and at least one associatedcandidate answer; storing, using the database connection, the questionconfiguration data; receiving, via the data interface, rule datarepresenting a rule relating the project template data and the questionconfiguration data; storing, using the database connection, the ruledata; sending, via the data interface, question data from the questionconfiguration data; receiving, via the data interface, answer data inresponse to the question data; and generating project specificconfiguration data from the project template data in accordance with theanswer data and the rule data.
 19. A computer readable storage medium asclaimed in claim 18, wherein the project template data comprises projectcategory data representing at least one project category and furthercomprising instructions for storing, in the database, the projecttemplate data in relation to the project category data.
 20. A computerreadable storage medium as claimed in claim 19, wherein the at least oneproject category comprises at least one of module, parent project type,project type and sub type categories.
 21. A computer readable storagemedium as claimed in claim 18, wherein the project template datacomprises project task template data representing at least one projecttask template and further comprising instructions for generating projecttask data representing at least one project task in accordance with theproject task template data.
 22. A computer readable storage medium asclaimed in claim 21, wherein the project task template data comprisesdeadline data representing at least one deadline for the completion ofthe at least one project task.
 23. A computer readable storage medium asclaimed in claim 21, wherein the project task template data comprisesrole data representing at least one role responsible for the completionof the at least one project tasks.
 24. A computer readable storagemedium as claimed in claim 18, wherein the project template datacomprises risk template data representing at least one risk template.25. A computer readable storage medium as claimed in claim 24, whereinthe risk template data comprises responsible role data representing arole responsible for managing a risk.
 26. A computer readable storagemedium as claimed in claim 18, wherein the project template datacomprises role template data representing at least one role, and furthercomprising instructions for generating responsibility data representingat least one responsibility for the at least one role in accordance withthe role template data and the project task template data.
 27. Acomputer readable storage medium as claimed in claim 26, wherein theproject template data comprises responsibility type data representing atleast one responsibility type and further comprising instructions forassigning a type to the at least one responsibility.
 28. A computerreadable storage medium as claimed in claim 27, wherein the at least oneresponsibility type comprises at least one of responsible, accountable,consulted and informed types.
 29. A computer readable storage medium asclaimed in claim 28, wherein the responsibility type data is a matrix.30. A computer readable storage medium as claimed in claim 18, whereinthe project template data comprises filesystem directory structure datarepresenting a directory structure and further comprising instructionsfor structuring a directory in accordance with the filesystem directorystructure data.
 31. A computer readable storage medium as claimed inclaim 30, wherein the filesystem directory structure data comprisestemplate data representing a template for inclusion in a specifieddirectory and further comprising instructions for storing, in thespecified directory the template data.
 32. A computer readable storagemedium as claimed in claim 31, wherein the template data comprises filedata.
 33. A computer readable storage medium as claimed in claim 18,wherein the project template data comprises reminder template datarepresenting at least one reminder and further comprising instructionsfor generating reminded data representing at least one reminder inaccordance with the reminder template data.
 34. A computer readablestorage medium as claimed in claim 18, further comprising instructionsfor associating at least one rule with the at least one associatedcandidate answer.